package com.bookstore.dao;

import com.bookstore.entity.User;

import java.util.List;

public interface UserDao {
    /**
     * 保存用户信息
     * @param user 用户信息对象
     * @return 受影响的记录行数
     */
    int insertUser(User user);

    /**
     * 更新用户信息
     * @param user 用户信息对象
     * @return 受影响的记录行数
     */
    int updateUser(User user);

    /**
     * 根据ID删除用户
     * @param userId 用户ID
     * @return 受影响的记录行数
     */
    int deleteUser(Long userId);

    /**
     * 根据用户名查询用户信息
     * @param username 用户名
     * @return 用户信息
     */
    User queryUserByUsername(String username);

    /**
     * 根据用户名和密码查询用户信息
     * @param user 带有用户名和密码的用户信息
     * @return 用户信息
     */
    User queryUserByUsernameAndPassword(User user);

    /**
     * 查询所有用户
     * @return 所有用户信息
     */
    List<User> queryAllUsers();

    /**
     * 根据用户ID查询用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    User queryUserById(Long userId);
}
